1. Field of the Invention
The invention relates to an interactive raster scanned or matrix display system of the type which permits two-way communication between a user of the system and a computer included as part of the system.
In such systems, the computer provides the control for the display so that, for example, upon receipt of signals from an input device operated by the user, a displayed picture is modified appropriately. It is desirable for the modification to occur rapidly so that to the user it appears that the picture is changing instantaneously in response to the commands. The invention relates in particular to the use of such a display system for performing image transformation on the screen including such transformation made under the direct control of a user interacting with the system by means of a cursor positioning device.
2. Description of the Prior Art
There are a variety of graphical input devices such as joysticks, tracker balls, tablets etc. available by means of which a user can identify a particular location or image on the screen. It is also possible to identify a position on the screen by using a keyboard propelled cursor. Here, a set of four keys may be assigned to step the cursor in each of the two directions vertically and horizontally. The effectiveness of these input devices depends on the use of visual feedback to the user provided by a cursor displayed at the screen coordinates defined by the coordinate outputs of the device. By controlling movement of the device, the user can steer the cursor around the screen.
In many interactive applications provision is made for displayed images on the screen to be transformed by the user. The procedure involved includes the user moving a cursor to overlay a point on the image in question and then issuing a signal by means of an assigned keybutton for example, to notify the computer that a transformation function is to be performed on the image, pointed to by the cursor. The computer then operates to link the image to the cursor so that, for example, if the transformation involves moving the image across the screen, the user can drag the image to its new position simply by moving the cursor with the input device. The images to be moved may include graphics line drawings, half-tone images, text or combinations of all three. A block of text to be moved may be identified by being enclosed in a box or by pointing to the start and end of the block using a cursor.
The cursor symbol on the screen can be provided by a special purpose hardware processor. However such a processor is a relatively expensive item in a low cost terminal and also limits the flexibility in terms of shape available to the user. It is therefore becoming increasingly common to generate the cursor by means of software thus enabling cursor shapes and sizes to be selected by the user to suit the application being performed.
A general interactive raster-scanned display system which is capable of making image transformations is described in SIGGRAPH-ACM Computer Graphics Vol. 13, No. 3, August 1979. Further information on such systems may be found in Chapter 12 "Raster Display Architecture" pages 479 to 503 in a text book entitled `Fundamentals of Interactive Computer Graphics` by J. D. Foley and A. Van Dam published by Addison-Wolsey Publications Company 1982. Basically in such systems, the individual graphics images that constitute the picture on the screen are stored as individual graphic segments containing the graphic orders. Then transformations may be applied individually to a given graphics segment. This in turn can result in a `new frame` action, that is the redrawing if necessary of all visible retained information. On a raster-scanned or matrix (e.g. gas panel) display, if there are many images visible and/or the images contain many vectors, it can take a relatively long time, amounting in some cases to several seconds, to redraw the entire picture.
This is particularly a problem on all but high function and consequently high cost systems. The problem inasmuch as it relates to moving the cursor itself across the screen can be minimized by specifying that it is of small size and simple shape so that it can be erased and redrawn repetitively at a sufficient rate to move it across the screen at the required speed. In the case of a key operated cursor this speed is determined by the automatic typing rate of the keyboard in repetitive mode.
It has been found however that when interacting with complex graphics line drawings such as integrated circuit layouts or detailed engineering drawings, a small cross-hair cursor for example can be difficult to find. Accordingly, when interacting with such complex images, it has been found to be advantageous to use a large cross-hair cursor extending from screen edge to screen edge both horizontally and vertically.
The processing power required to erase and redraw these large cursor images is not trivial and the time taken to perform each incremental repositioning can be long compared to the desired speed of interaction. Clearly, the problem is even worse when transforming detailed and complex images and worst of all when the transformations are performed under user control where both image and cursor are required to be moved across the screen together.